#!/bin/bash
# Docker容器停止脚本

set -e  # 遇到错误立即退出

echo "🛑 停止边侧节点AI服务系统Docker容器..."

# 容器配置
CONTAINER_NAME="edge-ai-service"

echo "📦 目标容器: ${CONTAINER_NAME}"
echo ""

# 检查Docker是否运行
if ! docker info >/dev/null 2>&1; then
    echo "❌ Docker未运行或无法访问，请检查Docker服务状态"
    exit 1
fi

# 检查容器是否存在
if ! docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
    echo "⚠️  容器 ${CONTAINER_NAME} 不存在"
    exit 0
fi

# 检查容器是否正在运行
if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
    echo "🔄 正在停止容器..."
    
    # 发送停止信号
    docker stop "${CONTAINER_NAME}" --time=30
    
    echo "✅ 容器已停止"
else
    echo "⚠️  容器 ${CONTAINER_NAME} 已经停止"
fi

# 询问是否删除容器
echo ""
read -p "是否删除容器? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
    echo "🗑️  删除容器..."
    docker rm "${CONTAINER_NAME}"
    echo "✅ 容器已删除"
else
    echo "💡 容器已保留，可以使用以下命令重新启动:"
    echo "   docker start ${CONTAINER_NAME}"
fi

echo ""
echo "🔧 其他管理命令:"
echo "  - 查看所有容器: docker ps -a"
echo "  - 清理停止的容器: docker container prune"
echo "  - 重新启动: ./docker-run.sh" 